Creé con éxito una tienda redux usando createSlice de @reduxjs/toolkit de la siguiente manera:
const initialState = { topics: { '123': { id: '123', name: 'example topic', icon: 'icon url', quizIds: ['456'] } } } const options = { name: 'topics', initialState: initialState, reducers: { addTopic: (state, action) => { return { ...state, topics: { ...state.topics, [action.payload.id]: action.payload } } } } }Al crear un selector encontré que tengo que hacer lo siguiente:
export const selectTopics = state => state.topicsReducer.topics;¿Por qué necesito el "topicsReducer"? En mi curso, siempre he visto acceso al estado como 'estado.temas'. ¿Me equivoqué en algo en mi variable de opciones?
¡Gracias!
Asegúrese de pasar el objeto reducers a combineReducers(reducers) o configureStore de esta manera:
combineReducers({ topics: topicsReducer }); // or configureStore({ reducer: { topics: topicsReducer } }) La forma del estado será { topics } . Entonces puedes crear un selector como:
export const selectTopics = state => state.topics;